<html>
<head>
<title>VqmCalc</title>
<link rel="stylesheet" type="text/css" href="../../avisynth.css">
<!--
Automatically generated, don't change:
$Id: vqmcalc.htm,v 1.2 2004/08/17 20:31:19 wilbertd Exp $ 
-->
</head>
<body>
<h1>VqmCalc</h1>
<h2>Abstract</h2>
<b>author:</b>  Lefungus
<br><b>version:</b>  0.21
<br><b>download:</b>   <a href="http://perso.wanadoo.fr/reservoir/dl/VqmCalc-0.21.rar">VqmCalc-0.21</a>
source: can be found <a href="http://perso.wanadoo.fr/reservoir/dl/VqmCalcSrc-0.21.rar">here</a>.<br>
<b>category:</b>  Plugins to compare video quality using specific video quality
metrics<br>
<b>requirements:</b> YV12 Colorspace
<hr>
<h2>Description</h2>
<p>The compare function of AviSynth,
calculates psnr from two clips. The following method (called VQM) should be a
better video quality metrics than psnr. It is based on the following report:
<p><a href="http://ise.stanford.edu/class/ee392j/projects/xiao_report.pdf" target="_blank"><cite>http://ise.stanford.edu/class/ee392...xiao_report.pdf</cite></a>
<p>It is not exactly the same as in the white-paper as some vital informations are
lacking like the matrix we need to use for spatial masking.<br>
In this filter, i use MPEG Matrix with hope it reflects a bit Human Visual
System.<br>
No temporal masking is implemented in this method.
<p>A few experiments were done with a little clip encoded with xvid at constant
quant2/quant4/quant6 and quant2 with VHQ1.
<p>Keep in mind these results may not reflect video quality
<p>Mean VQM:<br>
Quant2: 37.16<br>
Quant4: 52.58<br>
Quant6: 63.12<br>
Quant2+VHQ1: 37.74
<p>More points (may) means less quality. It seems to scale well with Quants but it
doesn't like VHQ.
<p>It will only work with YV12. And it seems to not works with B-Frames.<br>
The clip must be mod8. If not it may crash.<br>
Another bugs i've encountered are:
<ul>
  <li>May crash when the log already exist.
  </li>
  <li>May crash during the clip, try again until it works.
  </li>
</ul>
<p>I hope you're not afraid to test it.</p>
<p><b>an example:</b></p>
<pre>a = Avisource(&quot;J:\Video\Source.avs&quot;)
b = Avisource(&quot;J:\Video\Quant6.avi&quot;)
return VqmCalc(a,b,&quot;results.log&quot;)</pre>
<p>PS: I use fdct_mmx from xvid sources, so i guess i need to release it GPL, and
include GPL headers. I'm not sure if i can, because it's inspired from a white
paper. I'll be glad to receive any help on this subject.</p>
<p><kbd>$Date: 2004/08/17 20:31:19 $</kbd></p>
</body>
</html>